package request

// 发送消息请求
type SendMessageReq struct {
	FormUserId  uint   `json:"form_user_id" form:"form_user_id"` // 发送者id
	ToTargetId  uint   `json:"to_target_id" form:"to_target_id"` // 接收方id（私聊）/ 群id（群聊）
	Content     string `json:"content" form:"content"`           // 消息内容
	MessageType int64  `json:"message_type" form:"message_type"` // 消息类型
}

// 获取会话消息请求
type GetMessageReq struct {
	ConversationId uint `json:"conversation_id" form:"conversation_id"` // 会话id
}

// 创建群聊
type CreateGroupReq struct {
	GroupName    string `gorm:"group_name" json:"group_name"`     // 群名称
	GroupAvatar  string `gorm:"group_avatar" json:"group_avatar"` // 群头像
	Announcement string `gorm:"announcement" json:"announcement"` // 群公告
	OwnerName    string `gorm:"owner_name" json:"owner_name"`     // 群内昵称
	OwnerId      uint   `gorm:"owner_id" json:"owner_id"`         // 群主id
	MaxMembers   uint   `gorm:"max_members" json:"max_members"`   // 最大成员数
}

// 加入群聊
type JoinGroupReq struct {
	GroupId        string `gorm:"group_id" json:"group_id"`               // 群id
	UserId         uint   `gorm:"user_id" json:"user_id"`                 // 用户id
	MemberNickname string `gorm:"member_nickname" json:"member_nickname"` // 群内昵称
}

// 发送群消息
type SendGroupMessageReq struct {
	GroupId     string `gorm:"group_id" json:"group_id"`         // 群id
	UserId      uint   `gorm:"user_id" json:"user_id"`           // 用户id
	Content     string `gorm:"content" json:"content"`           // 消息内容
	MessageType int64  `gorm:"message_type" json:"message_type"` // 消息类型
}

// 获取所有群消息
type GetGroupMessageReq struct {
	GroupId string `gorm:"group_id" json:"group_id"` // 群id
}

// 获取群成员
type GetGroupMemberReq struct {
	GroupId string `gorm:"group_id" json:"group_id"` // 群id
}

// 查询用户所在群聊
type GetUserGroupsReq struct {
	UserId uint `gorm:"user_id" json:"user_id"` // 用户id
}

// 获取随机问题
type GetRandomQuestionReq struct {
}

// 按兴趣/分类获取随机问题
type GetRandomQuestionByCategoryReq struct {
	Category string `gorm:"category" json:"category"` // 分类/兴趣
}

// 表情包推荐
type GetRandomStickerByCategoryReq struct {
	Context string `gorm:"context" json:"context"` // 输入内容上下文
}
